iT邦幫忙

2026 iThome 鐵人賽

DAY 5
0

EVPN 與 VRR (Virtual Router Redundancy)

EVPN

  1. EVPN 核心定義與目的

    • 控制層面 (Control Plane): EVPN 是一種基於標準(RFC 7432 / 8365)的 VXLAN 控制層面,用來解決傳統 VXLAN 依賴「洪水與學習 (Flood-and-Learn)」機制的擴展性問題。
    • 協定基礎: 利用 MP-BGP 交換資訊,並使用 BGP-MPLS IP VPN 技術。
    • 功能: 不僅支援同網段的 L2 Bridging,也支援不同網段間的 L3 Routing,並原生支援多租戶 (Multi-tenancy)。
    • 在 Cumulus Linux 中,EVPN 是透過 FRR (Free Range Routing) 軟體來運作。
  2. 關鍵技術特性

    EVPN 提供了多項高級網路功能,提升了資料中心的效率與靈活性:

    • 路徑類型 (Route Types):
      • Type-2 (MAC/IP): 用於通告主機的 MAC 與 IP 位址。
      • Type-3 (Inclusive Multicast): 處理 VNI 的成員關係與 BUM 流量。
      • Type-5 (IP Prefix): 用於通告外部路由或 L3 網段資訊。
    • 效率優化:
      • ARP/ND 抑制: VTEP 會攔截 ARP 請求,減少 VXLAN 隧道內的廣播流量。
      • ECMP (等價多路徑): 在 NVIDIA Spectrum 晶片上支援 Overlay 網路的負載平衡。
    • 主機連線性:
      • 虛擬機遷移 (Mobility): 透過 MAC Mobility Extended Community 支援主機在不同 VTEP 間移動。
      • Active-Active 模式: 透過 MLAG 支援主機雙上聯冗餘。
    • 多租戶與 IPv6: 原生支援 Layer 3 多租戶與 IPv6 路由。
  3. 部署與網路架構

    • 對等機制 (Peering): 支援 eBGPiBGP
    • 2-Tier Clos 架構:
      • Leaf: 作為 VTEP 節點。
      • Spine: 作為 Route Forwarders,不參與 VTEP 封裝,僅轉發路由訊息。
    • 預設開啟 Head-end Replication (HER),用於處理多播流量。
  4. EVPN 的核心元件:RD 和 RT
    這兩者是 EVPN (Overlay 控制平面) 的基石,用於在多租戶環境中管理路由。

    • Route Distinguisher (RD - 路由區別碼):

      • 目的: 讓路由唯一
      • 解決問題: 在多租戶環境中,兩個不同的客戶(租戶)可能都使用相同的 IP 網段(例如 192.168.1.0/24)。
      • 運作: RD 是一個 8-byte 的值,會被附加在 IP 路由前面
      • 範例:
        • 租戶 A 的路由變成:RD_A:192.168.1.1
        • 租戶 B 的路由變成:RD_B:192.168.1.1
      • 結果: 即使 IP 相同,這兩條路由在 BGP 網路中也會被視為兩條完全不同的、全域唯一的路由
    • Route Target (RT - 路由目標):

      • 目的: 控制路由的進出口策略(Policy)
      • 解決問題: RD 只保證路由唯一,但它不管這條路由該被誰接收。RT 決定了哪些路由可以被哪些 VRF(虛擬 L3 網路)或 VNI(虛擬 L2 網路)所接收發送
      • 運作: RT 是一種 BGP 擴展社群屬性(像是一個標籤)。
      • 類型:
        • Export RT (匯出): 當一個 VTEP (Leaf) 要通告一條路由時(例如 租戶 A 的路由),它會在這條路由上貼上 Export RT_A 的標籤。
        • Import RT (匯入): 其他 VTEP 收到這條路由時,會檢查其 VRF/VNI 是否設定了要匯入 (Import) RT_A 這個標籤。如果匹配,BGP 就會將這條路由安裝到該租戶的路由表中。
    • 比喻:

      • RD (路由區別碼) 就像是護照號碼。它確保即使兩個人同名(IP 位址相同),也能被唯一識別。
      • RT (路由目標) 就像是簽證。它決定了你(路由)可以進入(Import)哪些國家(VRF/VNI)。
    • 自動化 (Auto RD and RT)

      • 為了進一步簡化 EVPN 設定,系統可以為 L2 VNI (VLAN) 和 L3 VNI (VRF) 自動產生唯一的 RD 和 RT 值,無需手動設定。

EVPN 路由類型 (Route Types - RTs)

下表顯示了不同的 EVPN 路由類型 (RTs)。要確保 EVPN 網路正常運行,所需的最低要求是 RT-2、RT-3 和 RT-5。其餘類型是可選的,取決於在網路中需要的功能。

路由類型 承載內容 主要用途
Type 1 Ethernet Segment Auto Discovery 用於多重路徑 (multihomed) 端點的資料中心。
Type 2 MAC, VNI IP 通告特定 MAC 位址和/或 IP 位址的可達性。
Type 3 Inclusive Multicast Route Required for Broadcast, Unknown Unicast and Multicast (BUM) traffic delivery across EVPN networks - provides information about P-tunnels that should be used to send the traffic.
Type 4 Ethernet Segment Route 用於 BUM 流量的 Designated Forwarder (指定轉發器) 選舉。
Type 5 IP Prefix, L3 VNI 在 L3 虛擬網路中通告 IP 前綴路由(例如 /24)。
Type 6 Multicast group membership info 通告多播組成員資訊。
Type 7 Multicast Membership Report Synch Route IGMP 同步機制,允許 PE 設備為 ES 服務以同步其 IGMP 狀態 - 此路由用於協調 IGMP 成員報告。
Type 8 Multicast Leave Synch Route IGMP 同步機制,允許 PE 設備為 ES 服務以同步其 IGMP 狀態 - 此路由用於協調 IGMP 離開群組。
Type 9 Per-region I-PMSI Auto Discovery Auto-Discovery routes used to announce the tunnels that instantiate an Inclusive PMSI - to all PEs in the same VPN.
Type 10 S-PMSI Auto Discovery Auto-Discovery routes used to announce the tunnels that instantiate a Selective PMSI - to some of the PEs in the same VPN.
Type 11 Leaf Auto Discovery Used for explicit leaf tracking purposes. Triggered by I/S-PMSI A-D routes and targeted at triggering route’s (re-)advertiser.

Type 2、3、5 屬於 Route 或 VNI 資訊

Type 1、4 對同時連結多個網路的支援

Type 4、6 群播資訊

VTEP (Virtual Tunnel Endpoints)

VTEP 是 VXLAN 網路上的邊緣設備。它既可以是 VXLAN 隧道的起點(在此處封裝使用者資料訊框),也可以是 VXLAN 隧道的終點(在此處解封裝資料訊框)。

VTEP 可以是機架頂端 (top-of-rack) 交換器(用於裸機端點)或是伺服器虛擬交換器 (hypervisor)(用於虛擬化工作負載)。VTEP 需要一個 IP 位址(通常是 loopback 介面)作為來源/目的隧道 IP 位址。此 VTEP IP 位址必須在路由網域中被宣告,以便 VXLAN 隧道端點之間可以相互連線。可以在單一 VTEP 上擁有多個 VNI。VXLAN 為每個 VTEP 使用一個 IP 位址,這使得交換器能夠擁有一個支援 VXLAN 的晶片組。VXLAN 是一種點對多點 (point-to-multipoint) 隧道。多播 (Multicast) 或廣播 (Broadcast) 封包可以從單一 VTEP 發送到網路中的多個 VTEP。

VRR

讓主機(Hosts)在無需重新設定的情況下,能與具備冗餘能力的交換器進行通訊。多台交換器對主機的 ARP 請求會做出完全相同的進場回應。即使其中一台交換器失效,其他交換器仍能持續處理流量。

  1. 與 MLAG 的搭配使用

    VRR 通常與 MLAG (Multi-Chassis Link Aggregation) 配合使用:

    • 在 MLAG 環境下,伺服器會將流量負載平衡到兩台交換器。如果使用傳統的 VRRP(一主一備),當流量到達「備用 (Standby)」交換器時,該交換器可能無法正確處理目的地為虛擬 MAC 的流量。
    • Active-Active: 在 VRR 模式下,兩台 MLAG 交換器都擁有相同的虛擬 MAC。因此,無論流量透過哪一條鏈路到達哪一台交換器,都能被正確處理,實現真正的 Active-Active 轉發。
  2. ARP 處理機制

    • 當伺服器發送 ARP 請求尋求虛擬 IP 時,冗餘組中的每一台交換器都會回覆相同的虛擬 MAC 地址。
    • 伺服器會收到多個相同的 ARP 回應,通常會忽略第一個之後的回應,或者直接覆蓋,因為內容完全一致,不會造成衝突。

虛擬 MAC 地址,預設使用的全結構 (Fabric-wide) MAC 地址為 00:00:5E:00:01:01

EVPN VXLAN 與 Active-active

在 EVPN VXLAN 的 Active-active 模式下,MLAG 配對中的兩台交換器都會與其他的 EVPN 說者(EVPN speakers,例如使用 hop-by-hop eBGP 的 Spine 交換器)建立對等關係(Peering),並告知它們本地已知的 VNI 與 MAC 地址。當 MLAG 處於活動狀態時,兩台交換器會使用共享的 Anycast IP 地址來宣告這些資訊。

VXLAN Active-Active

目的是使兩台 MLAG 交換器可作為單一 VTEP,為裸機及虛擬化工作負載提供該功能。

在傳統的二層網路中,為了避免迴圈(Loop),通常只能有一條路徑通往目的地。但在 VXLAN Active-Active 模式下:

  • Anycast IP (任播 IP): 兩台實體 Leaf 交換器在它們的 Loopback 介面上設定相同的 IP 地址(Share address)。
  • 共享身分:對於網路中的其他交換器(Spine 或遠端 Leaf)來說,這兩台交換器看起來就像是一個擁有單一 IP 邏輯的 VTEP。
  • 流量分擔: 無論流量進到哪一台交換器,都能進行 VXLAN 的封裝與解封裝。

為什麼它對各類工作負載都很重要?

  1. 裸機伺服器 (Bare Metal)

    • 透過 LACP + MLAG,伺服器可以用兩條線連線。
    • 即使其中一台交換器掛掉,連線也不會中斷,且頻寬能達到雙倍(Active-Active)。
  2. 虛擬化工作負載 (Virtualized Workloads)

    • 對於虛擬主機(Hypervisor)來說,網路路徑的透明度極高。
    • 虛擬機在進行遷移(vMotion/Live Migration)時,對外宣告的網路環境保持一致。

下個章節,進行 EVPN 與 VRR 的網路配置


上一篇
NVUE - link aggregation
系列文
ToR 的復仇-頂架也能跑馬拉松15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言